System-defined Properties
ApertureDB defines a set of properties known as system-defined properties. These properties are either used in object definitions or computed internally by the system. To distinguish them from user-defined properties, all system-defined properties start with "_" prefix. Some properties are present in all objects (e.g., _uniqueid), while others are specific to certain object types (e.g., _label for BoundingBox, Polygons, or Descriptors). System-defined properties cannot be updated by users, except in cases where the Update command explicitly supports modification through defined parameters. However, these properties can be used as keys in constraints.
Here we detail the set of properties for each Object:
| Object | Properties | Type | Param for Update Command | Can Be Used in constraints | Notes |
|---|---|---|---|---|---|
| All Objects | _uniqueid | string | Y | Unique id for the object | |
| _create_txn | number | Y | Transaction id that created the object | ||
| Connection | _src | string | N | unique_id of the src of the connection | |
| _dst | string | N | unique_id of the dst of the connection | ||
| DescriptorSet | _name | string | Y | Name of the set | |
| _dimensions | number | Y | Dimensionality of the Descriptors | ||
| _engines | array | N | List of engines available for KNN | ||
| _metrics | array | N | List of metrics available for KNN | ||
| _count | number | Y | Number of Descriptors in the Set | ||
| _segment_size | number | Y | Number of Descriptors on each segment | ||
| _max_segments | number | Y | Maximum number of segments | ||
| _splits | object | N | Number of splits | ||
| Descriptor | _label | string | label | Y | |
| _set_name | string | Y | Name of the set the Descriptor belongs to | ||
| BoundingBox | _label | string | label | Y | |
| _coordinates | rect | rectangle | N | ||
| _area | number | Y | Area (in pixels) of the BoundingBox | ||
| Polygon | _label | string | label | Y | |
| _vertices | poly | polygons | N | ||
| _area | number | Y | Area (in pixels) of the Polygon | ||
| _bounds | rect | N | The smallest rectangle containing the Polygon | ||
| Video | _fps | number | Y | Average frames per second | |
| _frame_count | number | Y | Number of frames in the video | ||
| _frame_width | number | Y | Width of the frame | ||
| _frame_height | number | Y | Height of the frame | ||
| Frame | _label | string | label | Y | |
| _frame_number | number | frame_number | Y | ||
| _time_offset | string | time_offset | Y | ||
| _time_fraction | number | time_fraction | Y | ||
| Clip | _label | string | label | Y | |
| _range_type | number | Y | Type describing what type of range (time,frame,pct) | ||
| _range_start | number | Y | Start of Clip range | ||
| _range_stop | number | Y | End of Clip range |
NOTE: Only properties having 'Param for Update Command' are modifiable by the user.
NOTE: Only the "==" and "in" operators are supported for "_uniqueid".